﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using DataLayer.dbml;
using DataLayer.Controller;
using System.Configuration;


public partial class home_CasosPorTipo : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //this.hdnNit.Value = "899999115-00";
            this.hdnNit.Value = Request.QueryString["NIT"].ToString();
            this.GetCasosPorTipo();
        }
    }

    private void GetCasosPorTipo()
    {        
        //Solo se muestran 4 tipos: visita empresarial, casos rapidos, peticiones, quejas
        DataTable dtResumen = new DataTable();
        dtResumen.Columns.Add("tipo");
        dtResumen.Columns.Add("cantidad");

        //Se toman estados del web.config. Se agregan estados con tilde(la tilde molesta en el web.config)
        string strCasosRapidos = ConfigurationManager.AppSettings["TipoCasoRapido"].ToString() + ",Casos rápidos";
        string strPeticiones = ConfigurationManager.AppSettings["TipoCasoPeticion"].ToString() + ",Petición";

        string[] arrVisitaEmpresarial = ConfigurationManager.AppSettings["TipoCasoVisita"].ToString().Split(',');
        string[] arrCasosRapidos = strCasosRapidos.Split(',');
        string[] arrPeticion = strPeticiones.Split(',');
        string[] arrQueja = ConfigurationManager.AppSettings["TipoCasoQueja"].ToString().Split(',');

        //Recorre el arreglo y quita espacios en blanco
        for (int i = 0; i < arrVisitaEmpresarial.Length; i++)
        {
            arrVisitaEmpresarial[i] = arrVisitaEmpresarial[i].Trim();
        }
        for (int i = 0; i < arrCasosRapidos.Length; i++)
        {
            arrCasosRapidos[i] = arrCasosRapidos[i].Trim();
        }
        for (int i = 0; i < arrPeticion.Length; i++)
        {
            arrPeticion[i] = arrPeticion[i].Trim();
        }
        for (int i = 0; i < arrQueja.Length; i++)
        {
            arrQueja[i] = arrQueja[i].Trim();
        }

        
        

        int visitaEmpresarial = CaseController.GetSumaCasosByTipo(this.hdnNit.Value, arrVisitaEmpresarial);
        int casosRapidos = CaseController.GetSumaCasosByTipo(this.hdnNit.Value, arrCasosRapidos);
        int peticiones = CaseController.GetSumaCasosByTipo(this.hdnNit.Value, arrPeticion);
        int quejas = CaseController.GetSumaCasosByTipo(this.hdnNit.Value, arrQueja);

        //Se crea datatable con los 3 estados que se muestran
        DataRow dr1 = dtResumen.NewRow();
        DataRow dr2 = dtResumen.NewRow();
        DataRow dr3 = dtResumen.NewRow();
        DataRow dr4 = dtResumen.NewRow();
        dr1["tipo"] = "Visita empresarial";
        dr1["cantidad"] = visitaEmpresarial;
        dr2["tipo"] = "Casos rápidos";
        dr2["cantidad"] = casosRapidos;
        dr3["tipo"] = "Peticiones";
        dr3["cantidad"] = peticiones;
        dr4["tipo"] = "Quejas";
        dr4["cantidad"] = quejas;
        dtResumen.Rows.Add(dr1);
        dtResumen.Rows.Add(dr2);
        dtResumen.Rows.Add(dr3);
        dtResumen.Rows.Add(dr4);

        this.grd.DataSource = dtResumen;
        this.grd.DataBind();
    }

    protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if ((e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType == DataControlRowType.DataRow))
        {
            for (int i = 0; i < e.Row.Cells.Count; i++)
            {
                e.Row.Cells[i].BorderStyle = BorderStyle.None;
            }
        }
    }

}
